package com.weixing.mall.provider.model.domain;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.weixing.mall.core.support.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 * 会员模块-会员表
 * </p>
 *
 * @author Small
 * @since 2019-11-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("uac_member")
public class Member extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 昵称
     */
    private String nickName;
    /**
     * 会员编号
     */
    private String memberNo;

    /**
     * 微信公众号openid
     */
    private String openid;


    /**
     * 小程序openid
     */
     private String xcxopenid;
    /*
     * 手机号
     */
    private String mobile;

    /**
     * 密码
     */
    private String password;

    /**
     * 头像
     */
    private String avator;

    /**
     * 是否可用 0禁用；1可用
     */
    private Integer isEnable;

    /**
     * 是否删除 0禁用；1可用
     */
    private Integer isDel;

    /**
     * 性别
     */
    private Integer gender;

    /**
     * 生日
     */
    private String birthDay;

    /**
     * 所在省编码
     */
    private String provinceCode;

    /**
     * 所在省
     */
    private String province;

    /**
     * 区
     */
    private String area;

    /**
     * 所在区编码
     */
    private String areaCode;

    /**
     * 所在市编码
     */
    private String cityCode;

    /**
     * 所在市
     */
    private String city;

    /**
     * 所属代理商
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long agentId;
    /**
     * 代理商姓名（冗余）
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String agentName;

    /**
     * 身高（cm）
     */
    private Integer height;

    /**
     * 体重(kg)
     */
    private String weight;

    /**
     * 会员等级
     */
    private Integer memberRank;

    /**
     * 邀请码
     */
    private String inviteCode;

    /**
     * 邀请人
     */
    private Long inviter;

    /**
     * 乐观锁
     */
    private Integer revision;

    /**
     * 注册时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date registerTime;




    /**
     * 代理商綁定時間
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date agentBindTime;


    /**
     * 所属客服
     */
    private Long kefuId;

    /**
     * 所属客服
     */
    private String kefuName;

    /**
     * 客服绑定时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date kefuBindTime;

    /**
     * 代理商編碼
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String agentSn;

    /**
     * 是否為代理商
     */
    private Integer isAgent;

    /**
     * 会员是代理角色时的代理id
    */
    private Long agentRoleBindId;
    /**
     * 积分数量
     */
    private  Long accumPoint;


    /**
     * 个推cid
     */
    private String cid;
}
